<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>最佳拍档</title>
    <meta name="keywords" content="最佳拍档">
    <meta name="description" content="最佳拍档">
    <style>
        .right h2{
            margin: 10px 0;
        }
        .right li{
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
<div class="right p20" style="margin-left: 200px;">
    <input type="hidden" id="userId" th:value="${loginUser.userid}">
    <div th:include="common/AdminHeadDesc :: admin_head_desc"></div>
    <div style="display: flex;justify-content: space-between">
        <div></div>
        <div style="display: flex;padding-right: 20px;">
            <div style="width: 250px;">
                <input type="text" name="keyword" id="keyword" required lay-verify="required" placeholder="请输入关键字" autocomplete="off" class="layui-input" onkeydown="keydownSearch()">
            </div>
            <div style="padding-left: 5px;">
                <button type="button" class="layui-btn" onclick="search()">搜索</button>
            </div>
        </div>
    </div>
    <div class="layui-row">
        <div class="layui-col-md12" style="padding-right: 20px">

            <table class="layui-table layui-form" lay-filter="EditListTable" id="EditListTable" lay-data="{id: 'tableid'}">
                <thead>
                <tr class="id36567">
                    <th lay-data="{field:'dateBetween', align: 'center', style: 'color: red'}">未更新天数</th>
                    <th lay-data="{field:'nickName', align: 'center'}">当前销售</th>
                    <th lay-data="{field:'platform', align: 'center'}">平台</th>
                    <th lay-data="{field:'company', align: 'center'}">公司名称</th>
                    <th lay-data="{field:'product', align: 'center'}">主营产品</th>
                    <th lay-data="{field:'telphone', align: 'center'}">联系电话</th>
                    <th lay-data="{field:'intention', align: 'center'}">合作意向程度</th>
                    <th lay-data="{field:'contacts', align: 'center'}">联系人</th>
                    <th lay-data="{field:'signingStatus', align: 'center', templet: '#signingStatusId'}">签约状态</th>
                    <th lay-data="{fixed: 'right', toolbar: '#barDemo', width: 200, align: 'center'}">操作</th>
                </tr>
                </thead>
            </table>
            <script type="text/html" id="barDemo">
                {{# if(d.signingStatus==1){ }}
                    <a class="layui-btn layui-btn-xs" lay-event="pass">通过</a>
                    <a class="layui-btn layui-btn-xs" lay-event="fail">不通过</a>
                    <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="view_details">查看详情</a>
                {{# } }}
            </script>
        </div>
        <script type="text/html" id="signingStatusId">
            {{# if(d.signingStatus == 0){ }}
            <span>未签约</span>
            {{# }else if(d.signingStatus == 1){ }}
            <span>审核中</span>
            {{# }else if(d.signingStatus == 2){ }}
            <span>已签约</span>
            {{# }else if(d.signingStatus == 3){ }}
            <span>已退回</span>
            {{# } }}
        </script>
    </div>
</div>
</body>

<script type="text/javascript">
    //初始化导航栏选中
    window.onload=function(){
        let userId = GetQueryString("userId")
        if(isNotNull(userId)){//查看销售的
            initFormData(userId)
            //固定导航栏
            $('a[href="/Admin/SalesRecord"]').parent().addClass('layui-this');
            $('a[href="/Admin/SalesRecord"]').parent().parent().parent().addClass('layui-nav-itemed');
            //隐藏某些元素
            $("#header-content1").hide()
            $("#download-template").hide()
            $("#upload-data").hide()
        }else{//查看自己的
            userId = $("#userId").val()
            initFormData(userId)
            //固定导航栏
            let url = window.location.pathname;
            if(url=="/" || url=="/Admin"){

            }else{
                $('a[href="'+url+'"]').parent().addClass('layui-this');
                $('a[href="'+url+'"]').parent().parent().parent().addClass('layui-nav-itemed');
            }
            //隐藏某些元素
            $("#header-content2").hide()
        }
    }

    function initFormData(userId){
        layui.use(['table', 'layer'], function () {//layui 模块引用，根据需要自行修改
            let layer = layui.layer, table = layui.table;
            //加载列表的后端 url
            var getListUrl = '/customer/contract/list';
            //对于任意一个 table，按照官方的说法，有三种不同的初始化渲染方式，不多介绍，而这里使用的方式姑且看做第三种：转换静态表格 方式
            //转换静态表格方式，自然首先需要有一个已经存在的表格，然后再通过 js 方式转化为 Layui 表格
            //无论哪种方式的 Layui table 初始化自然需要配置项
            //通过转化的方式初始化 Layui table，配置项部分可以在 源table中，部分在js中，源 table 的源代码上文已经给出，下面给出一个示例的 js 中的配置项
            var tableOptions = {
                elem: '#EditListTable',
                url: getListUrl, //请求地址
                method: 'POST', //方式
                id: 'EditListTable', //生成 Layui table 的标识 id，必须提供，用于后文刷新操作，笔者该处出过问题
                page: true, //是否分页
                request: {
                    pageName: 'pageNum',
                    limitName: 'pageSize'
                },
                where: {}, //请求后端接口的条件，该处就是条件错误点，按照官方给出的代码示例，原先写成了 where: { key : { type: "all" } }，结果并不是我想的那样，如此写，key 将是后端的一个类作为参数，里面有 type 属性，如果误以为 key 是 Layui 提供的格式，那就大错特错了
                response: { //定义后端 json 格式，详细参见官方文档
                    statusName: 'code', //状态字段名称
                    statusCode: '200', //状态字段成功值
                    msgName: 'msg', //消息字段
                    countName: 'total', //总数字段
                    dataName: 'rows' //数据字段
                },
                limit: 10,//每页显示条数
                limits: [10,20,50,100,150,200,300],//可选择范围
            };
            // 表初始化
            var createTable = function () {
                table.init('EditListTable', tableOptions);// table lay-filter
            };
            // 表刷新方法
            var reloadTable = function (item) {
                table.reload("tableid", { //此处是上文提到的 初始化标识id
                    url: getListUrl,
                    where: {}
                });
            };
            // 表初始化
            createTable();

            //监听行工具事件
            table.on('tool(EditListTable)', function (obj) {
                var data = obj.data;
                if (obj.event === 'pass') {
                    layer.open({
                        title: '提示'
                        ,content: '确定通过该签约吗？'
                        ,yes: function () {
                            $.ajax({
                                type:'GET',
                                url:'/customer/contract/approve/'+data.unid,
                                dataType:'json',
                                contentType: 'application/json; charset=UTF-8',
                                success:function(req){
                                    layer.msg("已通过！");
                                    // 重载表格数据
                                    reloadTable();
                                    return false;
                                },
                                error:function(e){
                                    layer.msg("出错啦！");
                                }
                            })
                        }
                    });
                }else if(obj.event === 'fail'){
                    layer.prompt({title: '请描述退回原因'},function(val, index){
                        $.ajax({
                            type:'GET',
                            url:'/customer/contract/refuse/'+data.unid,
                            data: {customerId:data.unid,context:val},
                            dataType:'json',
                            contentType: 'application/json; charset=UTF-8',
                            success:function(req){
                                layer.close(index);
                                layer.msg("已退回！");
                                // 重载表格数据
                                reloadTable();
                                return false;
                            },
                            error:function(e){
                                layer.close(index);
                                layer.msg("出错啦！");
                            }
                        })
                    });
                }else if(obj.event === 'view_details'){
                    window.location.href = "http://" + window.location.host + "/Admin/Brand/BrandDetailsReadonly?unid="+data.unid;
                }
            });

        });
    }

    //申请签约
    function applyForSigning(id,userId){
        layui.use(['layer','table'], function(){
            let layer = layui.layer;
            let table = layui.table;
            layer.open({
                title: '提示'
                ,content: '确定提交该签约申请吗？'
                ,btn: ['确定', '取消']
                ,yes: function (index, layero) {
                    $.ajax({
                        type:'GET',
                        url:'/customer/contract/apply/'+id,
                        dataType:'json',
                        contentType: 'application/json; charset=UTF-8',
                        success:function(req){
                            if(req.code == 200){
                                layer.close(index);
                                layer.msg("已提交申请，请耐心等待！");
                                // 重载表格数据
                                setTimeout(function(){
                                    table.reload("tableid", { //此处是上文提到的 初始化标识id
                                        url: '/customer/list',
                                        where: {userId: userId}
                                    });
                                }, 1500);
                            }else{
                                layer.close(index);
                                layer.msg("出错啦！");
                            }
                            return false;
                        },
                        error:function(e){
                            layer.close(index);
                            layer.msg("出错啦！");
                        }
                    })
                }
                ,btn2: function(index, layero){
                    //按钮【按钮二】的回调
                    layer.close(index);
                }
                ,cancel: function(){
                    //右上角关闭回调
                    layer.close(index);
                }
            });
        })
    }

    //文件上传
    layui.use('upload', function(){
        let upload = layui.upload;
        //执行实例
        let uploadInst = upload.render({
            elem: '#UploadData' //绑定元素
            ,url: '/customer/importData' //上传接口
            ,accept: 'file' //允许上传的文件类型
            ,done: function(res){
                //上传完毕回调
                layui.use('layer', function(){
                    var layer = layui.layer;
                    layer.msg(res.msg);
                });
                //两秒后重载表格数据
                setTimeout(function(){
                    window.location.reload();
                }, 2000);
            }
            ,error: function(){
                //请求异常回调
                layui.use('layer', function(){
                    var layer = layui.layer;
                    layer.msg("导入失败！");
                });
            }
        });
    });

    //下载需要上传数据的excel模板
    function downloadTemplate() {
        $.ajax({
            url:"/customer/importTemplate",
            data:"",
            type:"POST",
            cache: false,
            success:function(result){
                window.location.href = "http://" + window.location.host + "/common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true;
            }
        });
    }

    //搜索
    function search(){
        layui.use(['table', 'layer'], function () {//layui 模块引用，根据需要自行修改
            let layer = layui.layer, table = layui.table;
            table.reload('tableid', {
                where: {
                    userId: $("#userId").val(),
                    searchStr:$("#keyword").val()
                }
                ,page: {
                    pageNum: 1 //重新从第 1 页开始
                }
            });
        })
    }

    //回车搜索
    function keydownSearch() {
        let event = window.event || arguments.callee.caller.arguments[0];
        if (event.keyCode == 13)
        {
            search();
        }
    }
    //获取地址栏参数
    function GetQueryString(name){
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if(r!=null)return  unescape(r[2]);
        return null;
    }

    /**
     * 判断值是否不为空
     * @param {Object} val
     */
    function isNotNull(val){
        if(val!=='undefined' && val!=="" && val!=null){
            return true
        }
        return false
    }


</script>

</html>